import layoutHeaderAside from '@/layout/header-aside'

// 由于懒加载页面太多的话会造成webpack热更新太慢，所以开发环境不使用懒加载，只有生产环境使用懒加载
const _import = require('@/libs/util.import.' + process.env.NODE_ENV)

/**
 * 在主框架内显示
 */
const frameIn = [
  {
    path: '/',
    redirect: { name: 'index' },
    component: layoutHeaderAside,
    children: [
      // 首页
      {
        path: 'index',
        name: 'index',
        meta: {
          auth: true,
          title: '首页'
        },
        component: _import('home/index.vue')
      },
      // 系统 前端日志
      {
        path: 'log',
        name: 'log',
        meta: {
          title: '前端日志',
          auth: true
        },
        component: _import('system/log')
      },
      // 刷新页面 必须保留
      {
        path: 'refresh',
        name: 'refresh',
        hidden: true,
        component: _import('system/function/refresh')
      },
      // 页面重定向 必须保留
      {
        path: 'redirect/:route*',
        name: 'redirect',
        hidden: true,
        component: _import('system/function/redirect')
      }
    ]
  }
]

// function importAll (prefix, title, r, debug = false) {
//   r.keys().forEach(function (path) {
//     const name = path.substr(path.indexOf('/') + 1, path.lastIndexOf('/') - 2)
//     let component = r(path).default
//     if (debug) {
//       console.log('load: /' + prefix + '/' + name)
//     }
//     frameIn[0].children.push({
//       path: `/${prefix}/${name}`,
//       name: `${prefix}-${name}`,
//       meta: {
//         title: `${title} - ${component.cnname}`,
//         auth: true
//       },
//       component: component
//     })
//   })
// }

// importAll('example', '资源管理', require.context('@/views/resource/', true, /index\.vue$/))
// importAll('student', '学籍管理', require.context('@/views/student/', true, /\/[a-z-]+\/index\.vue$/), true)
// importAll('score', '成绩管理', require.context('@/views/score/', true, /\/[a-z-]+\/index\.vue$/))
// importAll('staff', '教工管理', require.context('@/views/staff/', true, /\/[a-z-]+\/index\.vue$/))
// importAll('major', '计划管理', require.context('@/views/major/', true, /\/[a-z-]+\/index\.vue$/))
// importAll('course', '课程管理', require.context('@/views/course/', true, /\/[a-z-]+\/index\.vue$/))

/**
 * 在主框架之外显示
 */
const frameOut = [
  // 登录
  {
    path: '/login',
    name: 'login',
    component: _import('system/login/page.vue')
  },
  // 注册
  {
    path: '/register',
    name: 'register',
    component: _import('system/register/page.vue')
  }
]

/**
 * 错误页面
 */
const errorPage = [
  {
    path: '*',
    name: '404',
    component: _import('system/error/404')
  }
]

// 导出需要显示菜单的
export const frameInRoutes = frameIn

// 重新组织后导出
export default [
  ...frameIn,
  ...frameOut,
  ...errorPage
]
